package Paquete_evaluacion;

import java.util.ArrayList;

import Paquete_fenotipo.Fenotipo;
import Paquete_fenotipo.Fenotipo_funciones;

/*f(x,y) = 21.5 + x*sen(4*PI*x)+ y*sen(20*PI*y) => x entre [-3.0,12.1], y entre [4.1,5.8]*/
public class EvaluadorFuncion2 {
	
	public Double getValorFuncion(ArrayList<Fenotipo> fen){
		if (fen.size() < 0 || !(fen.get(0) instanceof Fenotipo_funciones) || 
				!(fen.get(1) instanceof Fenotipo_funciones)){
		return null;
		}
		
		Double X = ((Fenotipo_funciones) fen.get(0)).getFeno();
		Double Y = ((Fenotipo_funciones) fen.get(1)).getFeno();		
		double result = 21.5 + X*Math.sin(4 * Math.PI * X) + Y * Math.sin(20 * Math.PI * Y);
		
		return result;
	}

}
